// label.asm
section call

exit:
    push1 0x20
    push0
    return

// 0xa5f3c23b
// 0000000000000000000000000000000000000000000000000000000000000012
// 0000000000000000000000000000000000000000000000000000000000000034
add(a:int, b:int)int:
    local c:int

    add a, b
    store c
    return c

section text
    push0
    calldataload
    push 0xe0
    shr
    dup1
    push 0xa5f3c23b
    eq
    jumpi label_add
    jump exit

label_add:
    local a:int
    local b:int

    push 0x4
    calldataload
    store a

    push 0x24
    calldataload
    store b

    add(a, b)
    push 0x0
    mstore
    jump exit

// @input 0xa5f3c23b00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000034